layui.define([], function(exports){
    /** 上传对象 */
   exports("image_uploader", function(target){
       const button = '#' + target + '_button';
       const preview = '#' + target + '_preview';
       const input = '#' + target;
       const text = '#' + target + '_text';
       const progress = target + '_progress';
       return layui.upload.render({
           elem: button
           , url: 'upload'
           , field: 'file'
           , before: function (obj) {
               //预读本地文件示例，不支持ie8
               obj.preview(function (index, file, result) {
                   $(preview).attr('src', result); //图片链接（base64）
               });
           }
           , done: function (res) {
               // layui.layer.close(loading);
               //如果上传失败
               if (res.code !== 1) {
                   return layui.layer.msg("上传失败!");
               }
               layui.layer.msg('上传成功!');
               $(input).val(res.data.file);
               $(preview).attr('src', res.data.file);
               //上传成功
               $(text).empty()

           }
           , error: function () {
               // layer.close(loading);
               //演示失败状态，并实现重传
               var demoText = $(text);
               demoText.html('<span style="color: #FF5722;">上传失败，请重试</span>');
               $(preview).attr('src', '');
               layui.element.progress(progress, '0%');
           }
           , progress: function (n, elem) {
               layui.element.progress(progress, n + '%'); //获取进度百分比 可配合 layui 进度条元素使用
           }
       });
   });
});